#include <iostream>
using namespace std;
class A
{
	int _a;
public:
	A(int a = 0)
		:_a(a)
	{cout << "A(int a)" << endl;}
	~A()
	{
		cout << "~A()" << endl;
	}
	A operator=(A&& tmp) noexcept
	{
		cout << "A&&" << endl;
		_a = tmp._a;
		tmp._a = 0;
		return *this;
	}
	A(const A& tmp)
	{
		_a = tmp._a;

	}
	A operator+(const A& tmp)
	{
		A x;
		x._a = _a + tmp._a;
		return x;

	}

};

int main()
{
	A a(10);
	A b(10);
	A c;
	c = a + b;
	return 0;
}